/*
 * Created on 2008-7-30
 *
 * TODO
 */
package jacky.lanlan.song.junitx.v4.conc;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 标注一个测试方法，表示这个方法需要通过 {@link ConcurrentRunner} 通过多个线程并发执行。
 * <p>
 * {@link ConcurrentRunner} 默认会使用5个线程并发执行被标注的方法50次。
 * <p>
 * <i style="color:red">注意：当测试方法同时标注了Timeout时，将不会发生并发。</i>
 * @see ConcurrentRunner
 * @author Jacky.Song
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface Concurrent {
	
	/**
	 * 执行次数。默认50次。
	 */
	int times() default 50;
	
	/**
	 * 设置负载并发量，即参与并发执行的线程数量。默认5个。
	 */
	int load() default ThreadPoolFactory.DEFAULT_SIZE;
	
}
